package net.halflite.mzkr.type;

import net.halflite.mzkr.dto.mail.UserMailDto;
import net.halflite.mzkr.mai.UserMailMai;

/** 一時ユーザーの種別を表す列挙形 */
public enum TempUserType {
	/** ユーザー一時登録 */
	USER {
		@Override
		public void sendMail(UserMailMai mai, UserMailDto dto) { mai.sendRegistTemp(dto); }
	},
	/** パスワード再発行一時登録 */
	PASSWORD {
		@Override
		public void sendMail(UserMailMai mai, UserMailDto dto) { mai.sendReissuePassword(dto); }
	},
	/** メールアドレス変更一時登録 */
	MAIL {
		@Override
		public void sendMail(UserMailMai mai, UserMailDto dto) { mai.sendRegistMail(dto); }
	};
	
	/** 一時登録メール送信 */
	public abstract void sendMail(UserMailMai mai, UserMailDto dto);
}
